package main

import "fmt"

func main() {
	/*
		switch 中的 break 和 fallthrough 语句
			1.break：可以使用在 switch 中，也可以使用在 for 循环中
				强制结束 case 语句，从而结束 switch 分支
			2.fallthrough：用于穿透 switch
				当 switch 中某个 case 匹配成功之后，就执行该 case语句
				如果遇到 fallthrough，那么后面紧邻的case，无需匹配（即不会判断下一个case的表达式是否为true），执行穿透执行
				注意：fallthrough 只能位于某个 case 语句的最后一行

			注：break 单独使用时，表示跳出 break 当前所在的 for、switch、select 语句的执行
				和标签一起使用时，表示跳出标签所标识的 for、switch、select 语句的执行，可用于跳出多重循环
				（前提：必须在同一函数内）
	*/
	n := 2
	switch n {
	case 1:
		fmt.Println("我是熊大")
		fmt.Println("我是熊大")
		fmt.Println("我是熊大")
	case 2:
		fmt.Println("我是熊二")
		fmt.Println("我是熊二")
		break // 用于强制结束 case，意味着 switch 被强制结束
		fmt.Println("我是熊二")
	case 3:
		fmt.Println("我是光头强")
		fmt.Println("我是光头强")
		fmt.Println("我是光头强")
	}
	fmt.Println("-------------------")
	m := 2
	switch m {
	case 1:
		fmt.Println("第一季度")
	case 2:
		fmt.Println("第二季度")
		fallthrough
	case 3:
		fmt.Println("第三季度")
	case 4:
		fmt.Println("第四季度")
	default:
		fmt.Println("数据错误")
	}
}
